<?php
class UsuariosController extends AppController {

	var $name = 'Usuarios';
	function index() {
		$this->Usuario->recursive = 0;
		$this->set('usuarios', $this->paginate());
	}
    
    function beforeFilter() {
        parent::beforeFilter(); 
        $this->Auth->allow(array('login', 'logout'));
    }
    
    function home()
    {
        $usuario_id = $this->Auth->user("id");
        $grupo_id = $this->Auth->user("grupo_id");
        $nombreUsuario = $this->Auth->user("username");
        $cntActualizaciones = $this->Usuario->query("select count(id) as cnt from actualizaciones where empresa_id in ( select id from empresas where usuario_id = $usuario_id)");
        $this->set(compact("nombreUsuario", "cntActualizaciones"));
    }

   function login()
    {
        if ($this->Session->read('Auth.Usuario')) {
            $this->Session->setFlash('You are logged in!');
            $this->redirect('/usuarios/home', null, false);
        }
    }
    
    function logout()
    {
                $this->Session->setFlash('Good-Bye');
        $this->redirect($this->Auth->logout());
        
    }
    
    
	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid usuario', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('usuario', $this->Usuario->read(null, $id));
	}

	function add() {
		if (!empty($this->data)) {
			$this->Usuario->create();
			if ($this->Usuario->save($this->data)) {
				$this->Session->setFlash(__('The usuario has been saved', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The usuario could not be saved. Please, try again.', true));
			}
		}
		$grupos = $this->Usuario->Grupo->find('list');
		$this->set(compact('grupos'));
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid usuario', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Usuario->save($this->data)) {
				$this->Session->setFlash(__('The usuario has been saved', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The usuario could not be saved. Please, try again.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Usuario->read(null, $id);
		}
		$grupos = $this->Usuario->Grupo->find('list');
		$this->set(compact('grupos'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for usuario', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Usuario->delete($id)) {
			$this->Session->setFlash(__('Usuario deleted', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Usuario was not deleted', true));
		$this->redirect(array('action' => 'index'));
	}
    function generaMenu($gid, $uid)
    {
    
        App::import("Helper", "Html");
        App::import("Model", "Usuario");
        $_uu = new Usuario();
        $empresa_id = $_uu->query("select * from empresas where usuario_id = $uid limit 1");
        $empresa_id = $empresa_id[0]["empresas"]["id"];
        $Html = new HtmlHelper();
        $links = array(
            "usuarios" => array( 
                "add" => $Html->link("Nuevo", array('controller'=>'usuarios','action'=>'add')),
                "index" => $Html->link("Listado", array('controller'=>'usuarios','action'=>'index')),
                "logout" => $Html->link("Salir", array('controller'=>'usuarios','action'=>'logout'))
            ),
            "actualizaciones" => array( 
                "add" => $Html->link("Nueva", array('controller'=>'actualizaciones','action'=>'add')),
                "index" => $Html->link("Listado", array('controller'=>'actualizaciones','action'=>'index'))
            ),
            "empresas" => array( 
                "add" => $Html->link("Nueva", array('controller'=>'empresas','action'=>'add')),
                "index" => $Html->link("Listado", array('controller'=>'empresas','action'=>'index')),
                "actualizaciones" => $Html->link("Mis Actualizaciones", array('controller'=>'empresas','action'=>'actualizaciones/'.$empresa_id))
            ),
            "disposiciones" => array( 
                "add" => $Html->link("Nueva", array('controller'=>'disposiciones','action'=>'add')),
                "index" => $Html->link("Listado", array('controller'=>'disposiciones','action'=>'index'))
            ),
            "tipos_disposiciones" => array( 
                "add" => $Html->link("Nuevo Tipo", array('controller'=>'tipos_disposiciones','action'=>'add')),
                "index" => $Html->link("Listado de Tipos", array('controller'=>'tipos_disposiciones','action'=>'index'))
        ));
        $grupo_id = $gid;
        $adm = "<ul class='sf-menu'> 
            <li class='current'> 
                <a href='#a'>Usuarios</a> 
                <ul> 
                    <li> 
                        ".$links["usuarios"]["add"]."
                    </li>  
                    <li> 
                        ".$links["usuarios"]["index"]."
                    </li> 
                </ul> 
            </li> 


            <li> 
                <a href='#'>Actualizaciones Legales</a>
                <ul>
                    <li>".$links["actualizaciones"]["add"]."</li>
                    <li>".$links["actualizaciones"]["index"]."</li>
                </ul>
            </li>
            
            <li> 
                <a href='#'>Empresas</a>
                <ul>
                    <li>".$links["empresas"]["add"]."</li>
                    <li>".$links["empresas"]["index"]."</li>
                </ul>
            </li>  
                      
            <li> 
                <a href='#'>Disposiciones</a>
                <ul>
                    <li>".$links["disposiciones"]["add"]."</li>
                    <li>".$links["disposiciones"]["index"]."</li>
                    <li>".$links["tipos_disposiciones"]["add"]."</li>
                    <li>".$links["tipos_disposiciones"]["index"]."</li>
                </ul>
            </li>
            
            <li>".$links["usuarios"]["logout"]."</li>    
        </ul>";
        
        $admContrato = "<ul class='sf-menu'> 
            <li> 
                <a href='#'>Actualizaciones Legales</a>
                <ul>
                    <li>".$links["empresas"]["actualizaciones"]."</li>
                </ul>
            </li>
            
          
            <li>".$links["usuarios"]["logout"]."</li>    
        </ul>";
        $auditor = "";
        $jefeArea = "";
        $liderProceso = "";
        $menu = array(
                2=> $adm,
                4=> $auditor,
                5=> $admContrato,
                6=> $jefeArea,
                7=> $liderProceso,
                0=> null
        );
        return $menu[$grupo_id];
    }
}
